diff options
Diffstat (limited to 'examples/cms-prismic/src/pages/blogs/[...page].astro')
-rw-r--r-- | examples/cms-prismic/src/pages/blogs/[...page].astro | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/cms-prismic/src/pages/blogs/[...page].astro b/examples/cms-prismic/src/pages/blogs/[...page].astro new file mode 100644 index 000000000..daec806f6 --- /dev/null +++ b/examples/cms-prismic/src/pages/blogs/[...page].astro @@ -0,0 +1,30 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro' +import BlogCard from '@/components/BlogCard.astro' +import Pagination from '@/components/Pagination.astro' +import { initApi, Predicates } from '@/api/prismic.js' + +export async function getStaticPaths({paginate, rss}) { + const api = await initApi() + const document = await api.query( + Predicates.at('document.type', 'blog_post'), + { orderings : '[document.last_publication_date]' } + ) + const { results } = document + return paginate(results, { pageSize: 4 }) +} + +const { page } = Astro.props +--- +<BaseLayout> + <div class="row"> + { + page.data.map(blog => ( + <div class="col-6 col-6-medium col-12-small"> + <BlogCard data={blog} /> + </div> + )) + } + </div> + { page.lastPage > 1 && <Pagination prevUrl={page.url.prev} nextUrl={page.url.next} /> } +</BaseLayout>
\ No newline at end of file |